/**
 * @description 会话管理
 * @license Apache License Version 2.0
 * @Copyright (c) 2022-Now 少林寺驻北固山办事处大神父王喇嘛
 * @remarks
 * SimpleAdmin 基于 Apache License Version 2.0 协议发布，可用于商业项目，但必须遵守以下补充条款:
 * 1.请不要删除和修改根目录下的LICENSE文件。
 * 2.请不要删除和修改SimpleAdmin源码头部的版权声明。
 * 3.分发源码时候，请注明软件出处 https://gitee.com/dotnetmoyu/SimpleAdmin
 * 4.基于本软件的作品，只能使用 SimpleAdmin 作为后台服务，除外情况不可商用且不允许二次分发或开源。
 * 5.请不得将本软件应用于危害国家安全、荣誉和利益的行为，不能以任何形式用于非法为目的的行为不要删除和修改作者声明。
 * 6.任何基于本软件而产生的一切法律纠纷和责任，均于我司无关
 * @see https://gitee.com/dotnetmoyu/SimpleAdmin
 */

import { ResPage, Session } from "@/api/interface";
import { moduleRequest } from "@/api/request";
const http = moduleRequest("/sys/auth/session/");

/**
 * @Description: 会话管理
 * @Author: huguodong
 * @Date: 2023-12-15 15:34:54
 */
const sessionApi = {
  /** 获取B端会话分页 */
  pageB(params: Session.Page) {
    return http.get<ResPage<Session.SessionInfo>>("b/page", params);
  },
  /** 获取C端会话分页 */
  pageC(params: Session.Page) {
    return http.get<ResPage<Session.SessionInfo>>("c/page", params);
  },
  /** 获取会话详情 */
  detail(id: number) {
    return http.get<Session.SessionInfo>("detail", { id });
  },
  /** 强退B端会话 */
  exitSessionB(id: number) {
    return http.post("b/exitSession", { id });
  },
  /** 强退C端会话 */
  exitSessionC(id: number) {
    return http.post("c/exitSession", { id });
  },
  /** 批量强退B端会话 */
  batchExitSessionB(params: Session.ForceOfflineReq) {
    return http.post("b/batchExitSession", params);
  },
  /** 批量强退C端会话 */
  batchExitSessionC(params: Session.ForceOfflineReq) {
    return http.post("c/batchExitSession", params);
  },
  /** 强退B端Token */
  exitTokenB(params: Session.ExitTokenReq) {
    return http.post("b/exitToken", params);
  },
  /** 强退C端Token */
  exitTokenC(params: Session.ExitTokenReq) {
    return http.post("c/exitToken", params);
  },
  /** 获取会话统计 */
  analysis() {
    return http.get<Session.SessionStats>("analysis", {}, { loading: false });
  }
};

export { sessionApi };
